{{tag> grapheurs éducation logiciels_pour_le_lycée}}

----

====== QtiPlot ======

**QtiPlot** est un logiciel de traitement et de visualisation de données.

La volonté affichée est de fournir une alternative libre (licence [[http://www.gnu.org/licenses/gpl.html|GNU General Public License]]) à des logiciels similaires mais propriétaires et payants tels que: [[http://www.originlab.com/|Origin]], [[http://www.systat.com/products/sigmaplot/|SigmaPlot]] ou encore [[http://pagesperso-orange.fr/jean-michel.millet/regressi.html|Regressi]].

{{http://soft.proindependent.com/doc/manual-en/pics/exemple-plot3d.png}}

===== Prérequis =====
  * Disposer des [[:sudo|droits d'administration]].
  * Disposer d'une connexion à Internet configurée et activée.
  * Avoir activé l'accès aux [[:depots#universe_et_multiverse|dépôts Universe et Multiverse]].

===== Installation =====

==== Depuis les dépôts ====

**QtiPlot** est disponible dans les dépôts [[:depots#universe_et_multiverse|Universe]]. Il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>qtiplot]]**.

À noter que la version de **QtiPlot** disponible dans les dépôts n'est généralement pas la dernière version disponible.

==== Depuis le site officiel (payant) ====
Il est possible de télécharger la dernière version de **QtiPlot** (sous la forme d'un paquet) depuis le [[http://soft.proindependent.com/qtiplot.html|site officiel]].

<note important>Bien que **QtiPlot** soit libre (licence [[http://www.gnu.org/licenses/gpl.html|GNU General Public License]]), les paquets disponibles sur le site officiel sont payants. Les tarifs sont disponibles à l'adresse : [[http://soft.proindependent.com/pricing.html]].</note>

Se référer au site officiel pour l'installation des paquets officiels : [[http://soft.proindependent.com/qtiplot.html]].

===== Installation à partir des sources =====
==== Préparation ====

S'il  existe une compilation/installation qui n'est pas triviale, c'est bien celle de QtiPlot. Mais ce grapheur est tellement adapté à la production de documents scientifiques qu'il est important de s'y pencher. Précisons que la compilation s'est effectuée correctement avec [[lucid|Ubuntu 10.04 LTS]] et [[maverick|Ubuntu 10.10]], mais que la méthode décrite ci-dessous est relative aux dernières version (Ubuntu 10.10 et [[natty|11.04]]).

==== Installation des dépendances ====
<note important>
  * QtiPlot peut se compiler sans le support des scripts Python mais il lui faut absolument muParser !
  * Il se peut que vous ayez besoin d'autres paquets que ceux indiqués ci-dessus.
  * Les traductions ne sont pas mises à jour.
</note>

Commençons par [[:tutoriel:comment_installer_un_paquet|installer]] les bibliothèques nécessaires à la compilation : **[[apt>libboost-all-dev,libgsl0-dev,libqt4-dev,docbook-utils,dblatex,libpng12-dev,libtool,zlib1g-dev,qt4-dev-tools,python-all-dev,libxext-dev,libqtassistantclient-dev,libmuparser-dev,python-sip-dev|libboost-all-dev libgsl0-dev libqt4-dev docbook-utils dblatex libpng12-dev libtool zlib1g-dev qt4-dev-tools python-all-dev libxext-dev libqtassistantclient-dev libmuparser-dev python-qt4-dev python-sip-dev]]**.

Pour info :
  * [[http://www.zlib.net|zlib]] permet de compresser les fichiers projets de QtiPlot,
  * [[http://www.gnu.org/software/gsl/|gsl]] est une librairie de manipulation de données scientifiques (nombres complexes, FFT, intégration, interpolation, etc.),
  * [[http://www.libpng.org/pub/png/libpng.html|libpng]] est utilisé pour l'export des graphes au format png. Nécessite zlib.
  * [[http://muparser.sourceforge.net/|muParser]] est obligatoire, c'est le langage de script par défaut. Il est très adapté aux traitement mathématiques
  * [[python]] est optionnel, mais conseillé...

<note important>
D'ailleurs pour pouvoir bénéficier de l'édition de vos scripts en python, il faut OBLIGATOIREMENT installer ces versions de [[sip_python|sip]] et de [[PyQt]]. Si, par contre, vous n'avez pas besoin de python, alors n'oubliez pas de commenter la ligne suivante du fichier build.conf ([[qtiplot#Configuration du fichier build.conf|plus bas]]) :

  #  SCRIPTING_LANGS += Python
</note>
==== Installation des parties tierces ====
Créez un répertoire QtiPlot :

  mkdir QtiPlot
  cd QtiPlot

Ce répertoire est important. Nous décompresserons tous les autres logiciels dedans !!!

Nous allons maintenant compiler ces parties tierces :
  * [[http://www.stat.tamu.edu/~aredd/tamuanova/|tamu anova]], une extension à gsl pour l'analyse de la variance 
  * [[http://soft.proindependent.com/qtexengine/ |QTeXEngine]], une bibliothèque qui permet de coder des formules [[latex]] et de les visualiser avec Qt
  * [[http://www.alglib.net/ |algLib]], une bibliothèque de traitement de données, complémentaire à gsl. ATTENTION : il ne faut pas utiliser la dernière version, mais la 2.6.0.

=== Compilation de tamu_anova ===
       
<code>wget http://www.stat.tamu.edu/~aredd/tamuanova/tamu_anova-0.2.tar.gz
tar xvzf tamu_anova-0.2.tar.gz
cd tamu_anova-0.2
./configure 
make</code>

=== Compilation de QTexEngine ===

<code>
cd ..
wget http://download.berlios.de/qtiplot/QTeXEngine-0.3-opensource.zip
unzip QTeXEngine-0.3-opensource.zip
cd QTeXEngine
qmake
make
sudo cp ./src/QTeXEngine.h /usr/local/include
sudo cp ./libQTeXEngine.a /usr/local/lib</code>
    
=== Compilation de AlGlib ===

<code>cd ..
wget http://www.alglib.net/translator/re/alglib-2.6.0.cpp.zip
unzip alglib-2.6.0.cpp.zip
cd cpp
chmod +x build
./build gcc</code>


Vous devez avoir l'arborescence suivante :

  QtiPlot
       |-- tamu_anova-0.2
       |-- QTexEngine
       |-- cpp

==== Compilation de QtiPlot ====

Téléchargez QtiPlot sur le site de [[http://download.berlios.de/qtiplot/qtiplot-0.9.8.6.tar.bz2 | proindependant]]. La dernière version est la 0.9.8.6. Décompressez l'archive dans ce répertoire **QtiPlot**. Ce répertoire (qtiplot-0.9.8.6) est appelé QTI_ROOT dans le fichier de configuration ci-dessous.
Désormais, vous devez avoir une arborescence du genre :

  QtiPlot
       |-- tamu_anova-0.2
       |-- QTexEngine
       |-- cpp
       |-- qtiplot-0.9.8.6
       
Si vous avez déjà compilé d'anciennes version de QtiPlot (par exemple la 0.9.8.5), elles doivent aussi apparaître dans ce répertoire **QtiPlot**.

=== Modification du fichier qwtplot3d.pro ===

[[:tutoriel:comment_modifier_un_fichier|Éditez le fichier]] **3rdparty/qwtplot3d/qwtplot3d.pro** et rajouter la ligne suivante à la ligne 17 :

<file>unix:CONFIG  += staticlib</file>
  
=== Configuration du fichier build.conf ===
Il faut ensuite [[:tutoriel:comment_modifier_un_fichier|créer un fichier]] **build.conf** dans QTI_ROOT à partir d'un fichier exemple fourni **build.conf.example**. Voici le fichier de l'auteur de cette documentation :
<file>
isEmpty( QTI_ROOT ) {
  message( "each file including this config needs to set QTI_ROOT to the dir containing this file!" )
}

##########################################################
##     System specific configuration
##########################################################

SYS_INCLUDEPATH = -I/$$QTI_ROOT/tmp/qtiplot
SYS_LIBS = -L/opt/local/lib

MUPARSER_INCLUDEPATH = /usr/include/muParser
MUPARSER_LIBS = -lmuparser
GSL_LIBS = -lgsl -lgslcblas

QWT_INCLUDEPATH = $$QTI_ROOT/3rdparty/qwt/src
QWT_LIBS = $$QTI_ROOT/3rdparty/qwt/lib/libqwt.a

QWT3D_INCLUDEPATH = $$QTI_ROOT/3rdparty/qwtplot3d/include
QWT3D_LIBS = $$QTI_ROOT/3rdparty/qwtplot3d/lib/libqwtplot3d.a

ZLIB_INCLUDEPATH = $$QTI_ROOT/3rdparty/zlib/

QUAZIP_INCLUDEPATH = /usr/local/include/quazip
QUAZIP_LIBS = -lquazip

TEX_ENGINE_LIBS = ../../../QtiPlot/QTeXEngine/libQTeXEngine.a
TEX_ENGINE_INCLUDEPATH = ../../../QtiPlot/QTeXEngine/src

TAMUANOVA_INCLUDEPATH = ../../tamu_anova-0.2/
TAMUANOVA_LIBS = ../../tamu_anova-0.2/libtamuanova.a

LIBPNG_LIBS = -lpng

ALGLIB_INCLUDEPATH = ../../../../QtiPlot/cpp/src
ALGLIB_LIBS = ../../../QtiPlot/cpp/out/libalglib.a

##########################################################
## python - only used if python is needed
##########################################################

# the python interpreter to use
# (unix only, windows will use what ever is configured to execute .py files!)
PYTHON = python

##########################################################
## Qt tools - allows to use specific versions
##########################################################

LUPDATE = lupdate
LRELEASE = lrelease

############################################################
##  Target specific configuration: configure Qtiplot itself
############################################################

contains( TARGET, qtiplot ) {
# building without muParser doesn't work yet
  SCRIPTING_LANGS += muParser
  SCRIPTING_LANGS += Python

# a console displaying output of scripts; particularly useful on Windows
# where running QtiPlot from a terminal is inconvenient
#  DEFINES         += SCRIPTING_CONSOLE
#  DEFINES		  += XLS_IMPORT

#DEFINES         += QTIPLOT_PRO

# Uncomment the following line if you want to perform a custom installation using the *.path variables defined in ./qtiplot.pro.
# CONFIG          += CustomInstall

# Uncomment the following line if you want to build QtiPlot as a browser plugin (not working on Internet Explorer).
#CONFIG          += BrowserPlugin
  
  CONFIG          += release
#  CONFIG          += debug
}
</file>

=== Compilation ===
Voilà, a priori, vous êtes parés pour la compilation de QtiPlot. Se mettre dans QTI_ROOT puis :

  qmake qtiplot.pro
  make

La compilation vous crée un fichier exécutable nommé **qtiplot** qui se trouve dans QTI_ROOT/qtiplot. Vous pouvez installer ce binaire plus les docs, traductions et pages de manuel avec la commande :
  sudo make install
Bon courage...
<note warning>Ce qui ne fonctionne toujours pas :

  - Le plugin pour firefox
  - La mise à jour des traductions
</note>
=== Problèmes connus ===
  * QtiPlot pose plein de soucis lorsque l'on n'a pas bien installé les parties tierces. Attention donc à être bien rigoureux.
  * Un **make clean** provoque l'erreur suivante :
  
    make[1]: entrant dans le répertoire « /home/raoul/QtiPlot/qtiplot-0.9.8.4/manual »
    make[1]: *** Pas de règle pour fabriquer la cible « clean ». Arrêt.
    make[1]: quittant le répertoire « /home/raoul/QtiPlot/qtiplot-0.9.8.4/manual »
    make: *** [sub-manual-clean] Erreur 2

 Pour la contourner, [[:tutoriel:comment_modifier_un_fichier|modifier le fichier]] QTI_ROOT/qtiplot.pro en commentant (avec un #), la ligne N°4 qui débute par **manual**
  * Au démarrage, QtiPlot vous propose d'aider le développeur en faisant une donation puis vous dirige vers le site WEB. Après avoir fait un don, vous pouvez supprimer ces deux fonctionnalités : commentez la ligne N°15958 du fichier //ApplicationWindow.cpp// avec deux barres obliques ainsi que la ligne N°61 du fichier //QtiPlotApplication.cpp// qui se trouvent dans **QTI_ROOT/qtiplot/src/core/**.
  * Il se peut que vous ayez une erreur indiquant que le fichier //sipAPIqti.h// est manquant; en particulier lors de la compilation qui supporte les scripts Python. Dans ce cas, placez vous dans le répertoire QTI_ROOT/qtiplot et faites un //qmake// puis revenez dans QTI_ROOT et relancer la compilation.
===== Utilisation =====
Un excellent manuel se trouve [[http://soft.proindependent.com/doc/manual-en/index.html|ici]]. Il est aussi fourni sous forme PDF avec les sources.

===== Désinstallation =====

=== Version installée via un paquet ===
Pour supprimer cette application, il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer son paquet]]. La configuration de l'application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez.


=== Version installée depuis les sources ===

Se placer dans le répertoire où vous avez décompressé QtiPlot (appelé QTI_ROOT plus haut) puis :
  sudo make uninstall


===== Voir aussi =====

  * **(en)** [[http://soft.proindependent.com/qtiplot.html|Site officiel]]
  * **(en)** [[http://soft.proindependent.com/doc/manual-en/index.html|Manuel de qtiplot]]

----


//Contributeurs : [[:utilisateurs:Volfoni54]]//.